package cn.yinyu.queue.module.ecg.service.devmanage;

import cn.yinyu.queue.module.ecg.controller.admin.devmanage.vo.*;
import cn.yinyu.queue.module.ecg.dal.dataobject.devmanage.DevModelDO;
import cn.yinyu.queue.framework.common.pojo.PageResult;

import javax.validation.Valid;
import java.util.List;

/**
 * 设备型号 Service 接口
 *
 * @author majianbo
 */
public interface DevModelService {

    /**
     * 创建设备型号
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createDevModel(@Valid DevModelSaveReqVO createReqVO);

    /**
     * 更新设备型号
     *
     * @param updateReqVO 更新信息
     */
    void updateDevModel(@Valid DevModelSaveReqVO updateReqVO);

    /**
     * 删除设备型号
     *
     * @param id 编号
     */
    void deleteDevModel(Integer id);

    /**
     * 获得设备型号
     *
     * @param id 编号
     * @return 设备型号
     */
    DevModelDO getDevModel(Integer id);

    /**
     * 获得设备型号分页
     *
     * @param pageReqVO 分页查询
     * @return 设备型号分页
     */
    PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO);

    /**
     * 根据分类获取品牌
     */
    List<OptionVO> getBrandOptions(String devCategory);

    /**
     * 根据分类和品牌，获取型号
     */
    List<OptionVO> getBrandModelOptions(String devCategory, String devBrand);
}
